import configdata from './config'
import cache from './cache'


// -----------------------判断是否是微信浏览器内部打开开始-----------------------
// isNoWx:function(){
// 	let isWechat = false;
// 	// #ifdef H5
// 	//isWechat = /micromessenger/i.test(navigator.userAgent || '');
// 	var ua = window.navigator.userAgent.toLowerCase();
// 	if (ua.match(/MicroMessenger/i) == 'micromessenger') {
// 		isWechat = true;
// 	} else {
// 		// #ifdef APP-PLUS||H5
// 		// uni.reLaunch({
// 		// 	url: "/pages/login/login"
// 		// })
// 		return;
// 		// #endif
// 	}
// 	// console.log('isWechat:',isWechat)
// 	// #endif
// 	if (isWechat) {
// 		console.log(" 是来自微信内置浏览器")
// 		let reg = new RegExp('(^|&)code=([^&]*)(&|$)')
// 		//let r = window.location.hash.match(reg)
// 		let r = window.location.search.substr(1).match(reg)
// 		// console.log('r:',r)
// 		if (r != null) {
// 			let code = unescape(r[2])
// 			let res = await $http.get('wxlogin', {
// 				'code': code
// 			});
// 			if (res.code == 0) {
// 				await weichat.oauth()
// 			} else {
// 				if (res.info == "wechat") {
// 					/*uni.reLaunch({
// 						url: "/pages/login/bind?val=" + res.data.openid
// 					})*/
// 					uni.setStorageSync("openid", res.data.openid)
// 				} else { //已绑定 直接登录
// 					console.log('已绑定')
// 	// 				uni.setStorageSync('token', res.data.token)
// 	// 				uni.setStorageSync('authorization', 'Bearer ' + res.data.token)
// 	// 				let info = store.getters.setAuthorization('Bearer ' + res.data.token)
	
// 	// 				setTimeout(function() {
// 	// 					return new Promise(function(resolve, reject) {
// 	// 						resolve(info)
// 	// 					});
// 	// 				}, 1500)
// 				}
// 			}
// 		} else {
// 			weichat.oauth()
// 		}
// 	} else {
// 		// #ifdef MP-WEIXIN
// 		let ret = await wxlogin();
// 		console.log(ret, "ret");
// 		if (ret.errMsg == 'login:ok') {
// 			let e = await $http.get('code2Session', {
// 				'code': ret.code
// 			});
// 			//根据openid 后台获取关联账号
// 			// console.info(e.data)
// 			//使用code获取会员openid
// 			let res = await $http.get('wxapplogin', {
// 				'openid': e.data.openid
// 			});
// 			if (res.code == 1) {
// 				let info = store.getters.setAuthorization('Bearer ' + res.data.token)
// 				return new Promise(function(resolve, reject) {
// 					resolve(info)
// 				});
// 			} else {
// 				uni.reLaunch({
// 					url: "/pages/login/bind?type=wxapp&val=" + escape(e.data.session_key)
// 				})
// 			}
// 		}
// 		return new Promise(function(resolve, reject) {
// 			resolve(ret)
// 		});
// 		// #endif
// 	}
// }

// -----------------------判断是否是微信浏览器内部打开结束-----------------------
module.exports = {
	config: function(name) {
		var info = null;
		if (name) {
			var name2 = name.split("."); //字符分割
			if (name2.length > 1) {
				info = configdata[name2[0]][name2[1]] || null;
			} else {
				info = configdata[name] || null;
			}
			if (info == null) {
				let web_config = cache.get("web_config");
				if (web_config) {
					if (name2.length > 1) {
						info = web_config[name2[0]][name2[1]] || null;
					} else {
						info = web_config[name] || null;
					}
				}
			}
		}
		return info;
	},
	post: function(url, data,hideLoading) {
		let $that = this;
		url = $that.config("APIHOST")+url;
		console.log(">>>>>>>>>>>>>>>>>>");
		if(!hideLoading)uni.showLoading();
		return new Promise((succ, error) => {
			uni.request({
				url: url,
				data: data,
				method: "POST",
				header: {
					'Authorization': 'Bearer ' + uni.getStorageSync('token'),
					'Content-Type': 'application/json'
				},
				success: function(result) {
					if(!hideLoading)uni.hideLoading();
					$that.parseData(succ, error,result);
				},
				fail: function(e) {
					if(!hideLoading)uni.hideLoading();
					error(e)
				}
			})
		})
	},
	get: function(url, data,hideLoading) {
		let $that = this;
		url = $that.config("APIHOST")+url;
		console.log("url: " + url);
		if(!hideLoading)uni.showLoading();
		return new Promise((succ, error) => {
			uni.request({
				url: url,
				data: data,
				method: "GET",
				header: {
					'Authorization': 'Bearer ' + uni.getStorageSync('token'),
					'Content-Type': 'application/json'
				},
				success: function(result) {
					if(!hideLoading)uni.hideLoading();
					$that.parseData(succ, error,result);
				},
				fail: function(e) {
					if(!hideLoading)uni.hideLoading();
					error(e)
				}
			})
		})
	},
	upload: function(url, data,hideLoading) {
		let $that = this;
		url = $that.config("APIHOST")+url;
		console.log("url: " + url);
		if(!hideLoading)uni.showLoading();
		return new Promise((succ, error) => {
			uni.request({
				url: url,
				data: data,
				method: "upload",
				header: {
					'Authorization': 'Bearer ' + uni.getStorageSync('token'),
					'Content-Type': 'application/json'
				},
				success: function(result) {
					if(!hideLoading)uni.hideLoading();
					$that.parseData(succ, error,result);
				},
				fail: function(e) {
					if(!hideLoading)uni.hideLoading();
					error(e)
				}
			})
		})
	},
	parseData: function(succ, error,result){
		if (result.statusCode == 200) {
			if (result.data.code == 1) {
				succ(result.data)
			} else {
				error(result)
			}
		} else {
			error(result)
		}
	}
}
